package api

type CardListReq struct {
	CardNo      string `json:"card_no"`
	Name        string `json:"name"`
	CompanyName string `json:"company_name"`
	StartTime   string `json:"start_time"`
	EndTime     string `json:"end_time"`
	PageSize    uint64 `json:"page_size"`
	Page        uint64 `json:"page"`
	SortFields  string `json:"sort_fields"`
	SortMethod  string `json:"sort_method"`
}

type CardListRes struct {
	CardId         string `json:"card_id"`
	CompanyName    string `json:"company_name"`
	CardNo         string `json:"card_no"`
	Balance        string `json:"balance"`
	FirstName      string `json:"first_name"`
	LastName       string `json:"last_name"`
	Expiration     string `json:"expiration"`
	State          string `json:"state"`
	CreateCardTime string `json:"create_card_time"`
	SubmitState    string `json:"submit_state"`
}

type GetCardDetailsRes struct {
	CardId        string           `json:"card_id"`
	LastFourNum   string           `json:"last_four_num"`
	State         string           `json:"state"`
	Balance       string           `json:"balance"`
	CardNo        string           `json:"card_no"`
	FirstName     string           `json:"first_name"`
	LastName      string           `json:"last_name"`
	BillAddress   string           `json:"bill_address"`
	Email         string           `json:"email"`
	CardAlias     string           `json:"card_alias"`
	Expiration    string           `json:"expiration"`
	CardVerifyNo  string           `json:"card_verify_no"`
	CardTradeList []*CardTradeList `json:"card_trade_list"`
}

type CardTradeListReq struct {
	CardNo      string `json:"card_no"`
	TradeType   string `json:"trade_type"`
	CompanyName string `json:"company_name"`
	StartTime   string `json:"start_time"`
	EndTime     string `json:"end_time"`
	TradeNo     string `json:"trade_no"`
	State       string `json:"state"`
	PageSize    uint64 `json:"page_size"`
	Page        uint64 `json:"page"`
	SortFields  string `json:"sort_fields"`
	SortMethod  string `json:"sort_method"`
}

type CardTradeListRes struct {
	CardId        string `json:"card_id"`
	TradeNo       string `json:"trade_no"`
	CardNo        string `json:"card_no"`
	CardAlias     string `json:"card_alias"`
	Amount        string `json:"amount"`
	Currency      string `json:"currency"`
	LocalCurrency string `json:"local_currency"`
	LocalAmount   string `json:"local_amount"`
	TradeType     string `json:"trade_type"`
	FirstName     string `json:"first_name"`
	LastName      string `json:"last_name"`
	TradeTime     string `json:"trade_time"` //交易时间
	State         string `json:"state"`
	MerchantName  string `json:"merchant_name"`
	CompanyName   string `json:"company_name"`
}

type EditCardStatusRes struct {
	CardId string `json:"cardId"`
}

type CardTradeList struct {
	TradeType    string `json:"trade_type"`  //交易类型
	Amount       string `json:"amount"`      //交易金额
	MerchantName string `json:"beneficiary"` //收款商户
	TradeTime    string `json:"trade_time"`  //交易时间
	State        string `json:"state"`       //交易状态
}

type GetCardImageReq struct {
	CardId string `json:"card_id"`
}

type GetCardImageVo struct {
	CardImgFront string `json:"cardImgFront"`
	CardImgBack  string `json:"cardImgBack"`
}

type GetCardImageRes struct {
	CardImgFront string `json:"card_img_front"`
	CardImgBack  string `json:"card_img_back"`
}

type CardInfoRes struct {
	UserNo              string          `json:"userNo"`
	CardNo              string          `json:"cardNo"`
	CardVerifyNo        string          `json:"cardVerifyNo"`
	CardAlias           string          `json:"cardAlias"`
	CardLabel           string          `json:"cardLabel"`
	CardExpiryDate      string          `json:"cardExpiryDate"`
	LocalCurrency       string          `json:"localCurrency"`
	StartActiveDate     string          `json:"startActiveDate"`
	EndCloseDate        string          `json:"endCloseDate"`
	CreditLimitAmt      string          `json:"creditLimitAmt"`
	MinAuthAmt          string          `json:"minAuthAmt"`
	MaxAuthAmt          string          `json:"maxAuthAmt"`
	BalanceAmt          string          `json:"balanceAmt"`
	UsedAuthAmt         string          `json:"usedAuthAmt"`
	EnableMultiUse      string          `json:"enableMultiUse"`
	EnableCurrencyCheck string          `json:"enableCurrencyCheck"`
	CardClosedAmt       string          `json:"cardClosedAmt"`
	CardStatus          string          `json:"cardStatus"`
	CardStatusDesc      string          `json:"cardStatusDesc"`
	CreateTime          string          `json:"createTime"`
	CardUserInfo        CardUserInfo    `json:"cardUserInfo"`
	BillAddressInfo     BillAddressInfo `json:"billAddressInfo"`
}

type CardUserInfo struct {
	FirstName string `json:"firstName"`
	LastName  string `json:"lastName"`
	Email     string `json:"email"`
	Mobile    string `json:"mobile"`
	BirthDate string `json:"birthDate"`
}

type BillAddressInfo struct {
	Country        string `json:"country"`
	CountryCode    string `json:"countryCode"`
	BillingState   string `json:"billingState"`
	BillingCity    string `json:"billingCity"`
	BillingAddress string `json:"billingAddress"`
	BillingZipCode string `json:"billingZipCode"`
}

type GetCardInfoReq struct {
	CardId string `json:"cardId"`
}

type BossAccountReq struct {
	Ccy string `json:"ccy"`
}

type BossAccountInfoRes struct {
	Cyy            string  `json:"ccy"`
	CurrentBalance float64 `json:"currentBalance"`
	AvailableBal   float64 `json:"availableBal"`
}

type BossAccountRes struct {
	Cyy string `json:"ccy"`
	//CurrentBalance string `json:"current_balance"`
	AvailableBal string `json:"available_bal"`
	Balance      string `json:"balance"`
	AgentBalance string `json:"agent_balance"`
}
